The present disclosure relates generally to relational databases, and more particularly, to providing a message efficient protocol for computing two or more sets of data in a relational database.
A relational database is a database that has a collection of tables of data items. In conventional relational databases, the database is described and organized according to a relational model. A database management system (DBMS) is often used to handle a relational database.
Many relational databases use structured query language (SQL) or use SQL-type terminology or operations. In such a case, a relation can be defined as a set of tuples with the same attributes. A tuple represents an object and information about that object. A relation is usually described as a table, which is organized into rows and columns. The columns are often referenced as a primary key to uniquely identify each row. Rows in one table can relate by establishing a foreign key, a column or group of columns that points to the primary key of another table. All the data referenced by an attribute are in the same domain and conform to the same constraints. Applications access data usually by specifying queries and relations can be modified using the insert, delete, and update operators. Tuples by definition are unique.
A relational database may be stored in one memory location or computer. However, in sophisticated systems and where the relational database is large and complex, a series of computers or servers may be needed to store the different parts of the relational database. In such cases, it is important for the servers to communicate in an optimal manner to retrieve and manipulate the data that is stored in the plurality of servers.